# class Student():
#     # __init__是一个特殊方法用于在创建对象时进行初始化操作
#     # 通过这个方法我们可以为学生对象绑定name和age两个属性
#     def __init__(self, name, age):
#         self.name = name
#         self.age = age
#
#     def study(self, course_name):
#         print(f'{self.name}正在学习{course_name}')
#
#     def watch_movie(self):
#         if self.age < 18:
#             print(f'{self.name}进不去监狱')
#         else:
#             print(f'{self.name}可以包吃包住了')
#
#     # 构造一个私有的类方法
#     def __test(self):
#         print('我是一个私有的方法')
#
#
# def main():
#     # 创建学生对象并指定姓名和年龄
#     stu1 = Student('尚子龙', 20)
#     stu1.study('Python')
#     stu1.watch_movie()
#
#     stu2 = Student('王大锤', 10)
#     stu2.study('Java')
#     stu2.watch_movie()
#
#     # 使用私有的方法
#     stu3 = Student('张三', 20)
#     # stu3.__test()  # AttributeError: 'Student' object has no attribute '__test'
#
#     # 这样还是可以调用到私有的方法
#     stu3._Student__test()

class Person(object):
    def __init__(self, name):
        self.name = name

    def my_func(self):
        print(f'my name is{self.name}')


user1 = Person(' 张三')
print(type(user1))
user1.my_func()

# if __name__ == '__main__':
#     main()